Skip to content

[ALICE3] IOTOF: Digitization for the TOF3 #15372

Merged
njacazio merged 26 commits intoAliceO2Group:devfrom
GiorgioAlbertoLucia:tf3_digit
May 8, 2026
Merged

[ALICE3] IOTOF: Digitization for the TOF3 #15372
njacazio merged 26 commits intoAliceO2Group:devfrom
GiorgioAlbertoLucia:tf3_digit

Conversation

@GiorgioAlbertoLucia
Copy link
Copy Markdown
Contributor

@GiorgioAlbertoLucia GiorgioAlbertoLucia commented May 6, 2026

@njacazio
First steps towards a full digitization for TOF3

  • GeometryTGeo class added, to move from the global coordinates to the local coordinate of a given chip
  • Segmentation class added, which finds the pixel position (row, col) on a chip, from the local chip coordinate
  • Digitizer class further developed, to process single hits and produce digits. Currently a flat efficiency and no checks on the created charge are considered

Please consider the following formatting changes to AliceO2Group#15372
@GiorgioAlbertoLucia GiorgioAlbertoLucia marked this pull request as ready for review May 7, 2026 09:09
@alibuild
Copy link
Copy Markdown
Collaborator

alibuild commented May 7, 2026

Error while checking build/O2/fullCI_slc9 for f30965d at 2026-05-07 13:28:

## sw/BUILD/O2-latest/log
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:79:7: error: use of undeclared identifier 'iRow'
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:79:14: error: use of undeclared identifier 'iCol'
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:80:7: error: void function 'detectorToLocalUnchecked' should not return a value [-Wreturn-type]
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:90:7: error: use of undeclared identifier 'iRow'
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:90:14: error: use of undeclared identifier 'iCol'
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:91:7: error: void function 'detectorToLocalUnchecked' should not return a value [-Wreturn-type]
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:100:7: error: use of undeclared identifier 'iRow'
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:100:14: error: use of undeclared identifier 'iCol'
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:101:7: error: void function 'detectorToLocalUnchecked' should not return a value [-Wreturn-type]
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:115:7: error: use of undeclared identifier 'iRow'
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:115:14: error: use of undeclared identifier 'iCol'
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:130:7: error: use of undeclared identifier 'iRow'
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:130:14: error: use of undeclared identifier 'iCol'
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:144:7: error: use of undeclared identifier 'iRow'
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:144:14: error: use of undeclared identifier 'iCol'
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:177:5: error: void function 'localToDetectorUnchecked' should not return a value [-Wreturn-type]
Error: /sw/slc9_x86-64/ROOT/v6-36-04-alice9-30/bin/rootcling: compilation failure (/sw/BUILD/263733daeb824cffa11093e2e691b593b7aab018/O2/Detectors/Upgrades/ALICE3/IOTOF/simulation/G__O2IOTOFSimulation2e3116d5a2_dictUmbrella.h)
ninja: build stopped: subcommand failed.

Full log here.

Updated return statement to remove false return value.
Updated detectorToLocalUnchecked methods to remove return type.
@alibuild
Copy link
Copy Markdown
Collaborator

alibuild commented May 7, 2026

Error while checking build/O2/fullCI_slc9 for 2a32b97 at 2026-05-07 15:48:

## sw/BUILD/O2-latest/log
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:80:7: error: void function 'detectorToLocalUnchecked' should not return a value [-Wreturn-type]
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:91:7: error: void function 'detectorToLocalUnchecked' should not return a value [-Wreturn-type]
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Segmentation.h:101:7: error: void function 'detectorToLocalUnchecked' should not return a value [-Wreturn-type]
Error: /sw/slc9_x86-64/ROOT/v6-36-04-alice9-30/bin/rootcling: compilation failure (/sw/BUILD/263733daeb824cffa11093e2e691b593b7aab018/O2/Detectors/Upgrades/ALICE3/IOTOF/simulation/G__O2IOTOFSimulationc799bbc8df_dictUmbrella.h)
ninja: build stopped: subcommand failed.

Full log here.

@njacazio njacazio enabled auto-merge (squash) May 7, 2026 15:32
njacazio
njacazio previously approved these changes May 7, 2026
Removed the alias 'Mat3D' for 'o2::math_utils::Transform3D'.
@njacazio njacazio changed the title Digitization for the TOF3 [ALICE3] IOTOF: Digitization for the TOF3 May 7, 2026
@njacazio njacazio disabled auto-merge May 7, 2026 15:36
@njacazio njacazio enabled auto-merge (squash) May 7, 2026 15:36
@alibuild
Copy link
Copy Markdown
Collaborator

alibuild commented May 7, 2026

Error while checking build/O2/fullCI_slc9 for 0dc1796 at 2026-05-07 21:28:

## sw/BUILD/o2checkcode-latest/log
--
========== List of errors found ==========
++ GRERR=0
++ grep -v clang-diagnostic-error error-log.txt
++ grep ' error:'
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/base/src/GeometryTGeo.cxx:180:39: error: statement should be inside braces [readability-braces-around-statements]
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/base/src/GeometryTGeo.cxx:182:40: error: statement should be inside braces [readability-braces-around-statements]
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/base/src/GeometryTGeo.cxx:184:47: error: statement should be inside braces [readability-braces-around-statements]
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/base/src/GeometryTGeo.cxx:188:39: error: statement should be inside braces [readability-braces-around-statements]
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/base/src/GeometryTGeo.cxx:190:40: error: statement should be inside braces [readability-braces-around-statements]
/sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/IOTOF/base/src/GeometryTGeo.cxx:192:47: error: statement should be inside braces [readability-braces-around-statements]
++ [[ 0 == 0 ]]
++ exit 1
--

Full log here.

@njacazio njacazio merged commit a0f94b4 into AliceO2Group:dev May 8, 2026
11 of 12 checks passed
scannito pushed a commit to scannito/AliceO2 that referenced this pull request May 8, 2026
* one sensor per chip

* one sensor per chip also in second layer

* iotof segmentation and parameters. Segmentation parameters are stolen from ALPIDE and probably nonsensical

* compute number of chips in IOTOF

* fill L2G transformation matrices

* fix cmakelist

* only fill segmentation details if layout is segmented + add function to retrieve chip index

* use proper chip id for segmented barrel

* refactoring of segmentation, idependent for inner and outer tof, nonstatic

* singleton implementation of the segmentation class

* realistic values fot the chip segmentation

* hit processing in place, tested on A3Studies/Digitization/testDigitization.cpp

* clang format

* protect against disks for now

* added sanity checks

* thickness that matches the values currently in O2

* default init of chipspecifics to zero

* double typo (half the honor)

* Please consider the following formatting changes

* Fix row and column assignment in detector functions

* Change return type in segmentation function

Updated return statement to remove false return value.

* Remove return statement from detectorToLocalUnchecked

Updated detectorToLocalUnchecked methods to remove return type.

* Remove Mat3D alias from GeometryTGeo class

Removed the alias 'Mat3D' for 'o2::math_utils::Transform3D'.

* Replace matrix transformation with Transform3D

---------

Co-authored-by: maciacco <mario.ciacco@cern.ch>
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
Co-authored-by: Nicolò Jacazio <njacazio@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants